/**
*  \file    systime.h
*
*  \brief   Simple Tick Counter
*
*  \author  Michael J. Hohmann <michael.hohmann@linde-mh.de>
*
*
*/

#ifndef SYSTIME_H_INCLUDED
#define SYSTIME_H_INCLUDED

#ifndef SYSTIME_LINKAGE
#define SYSTIME_LINKAGE extern
#endif

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"

/*================================================[ public defines   ]================================================*/

/** No Timeout.
*
* If this value is passed to the function systime_timeout() it will always return FALSE.
*/
#define SYSTIME_NO_TIMEOUT U32_MAX

/*================================================[ public datatypes ]================================================*/

typedef U32 systime_t ;

/*================================================[ public variables ]================================================*/

/*================================================[ public functions ]================================================*/
RC systime_initialize( void );
void systime_tick( void );
systime_t systime_get( void );
BO systime_timeout(systime_t start_time, systime_t period );
void systime_delay(systime_t delay);

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2007 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
